home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2003 October / Joy152 - CD2.iso / internet / thunderbird-0.2-win32.zip / thunderbird / res / quirk.css < prev    next >
Cascading Style Sheet File  |  2003-09-01  |  10KB  |  294 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * Version: NPL 1.1/GPL 2.0/LGPL 2.1
  3.  *
  4.  * The contents of this file are subject to the Netscape Public License
  5.  * Version 1.1 (the "License"); you may not use this file except in
  6.  * compliance with the License. You may obtain a copy of the License at
  7.  * http://www.mozilla.org/NPL/
  8.  *
  9.  * Software distributed under the License is distributed on an "AS IS" basis,
  10.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11.  * for the specific language governing rights and limitations under the
  12.  * License.
  13.  *
  14.  * The Original Code is mozilla.org code.
  15.  *
  16.  * The Initial Developer of the Original Code is 
  17.  * Netscape Communications Corporation.
  18.  * Portions created by the Initial Developer are Copyright (C) 1998
  19.  * the Initial Developer. All Rights Reserved.
  20.  *
  21.  * Contributor(s):
  22.  *
  23.  * Alternatively, the contents of this file may be used under the terms of
  24.  * either the GNU General Public License Version 2 or later (the "GPL"), or 
  25.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26.  * in which case the provisions of the GPL or the LGPL are applicable instead
  27.  * of those above. If you wish to allow use of your version of this file only
  28.  * under the terms of either the GPL or the LGPL, and not to allow others to
  29.  * use your version of this file under the terms of the NPL, indicate your
  30.  * decision by deleting the provisions above and replace them with the notice
  31.  * and other provisions required by the GPL or the LGPL. If you do not delete
  32.  * the provisions above, a recipient may use your version of this file under
  33.  * the terms of any one of the NPL, the GPL or the LGPL.
  34.  *
  35.  * ***** END LICENSE BLOCK ***** */
  36.  
  37. @namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */
  38.  
  39.  
  40. /* Quirk: input images have a blue border (b=28010) */ 
  41.  
  42. /* default border */
  43. input[type=image] {
  44.   border: 2px solid blue;
  45. }
  46.  
  47. /* border when focused -- only change style to dotted */
  48. input[type=image]:focus {
  49.   border-style: dotted;
  50. }
  51.  
  52. /* border when disabled -- only change color to gray */
  53. input[type=image][disabled] {
  54.   border-color: GrayText;
  55. }
  56.  
  57.  
  58. /* Quirk: make orphaned LIs have inside bullet (b=1049) */
  59.  
  60. /* force inside position for orphaned lis */
  61. li {
  62.   list-style-position: inside; 
  63. }
  64.  
  65. /* restore outside position for lists inside LIs */
  66. li ul, li ol, li dir, li menu { 
  67.   list-style-position: outside; 
  68. }
  69.  
  70. /* undo previous two rules for properly nested lists */
  71.   ul ul,   ul ol,   ul dir,   ul menu,   ul li,
  72.   ol ul,   ol ol,   ol dir,   ol menu,   ol li,
  73.  dir ul,  dir ol,  dir dir,  dir menu,  dir li,
  74. menu ul, menu ol, menu dir, menu menu, menu li {
  75.   list-style-position: inherit;
  76. }
  77.  
  78.  
  79. /* Quirk: ensure that we get proper padding if the very first 
  80.  * node in an LI is another UL or OL. This is an ugly way to
  81.  * fix the problem, because it extends the LI up into what
  82.  * would otherwise appear to be the ULs space. (b=38832) */
  83.  
  84. /* Note: this fix will fail once we implement marker box 
  85.  * alignment correctly. */
  86. li > ul:first-node,
  87. li > ol:first-node {
  88.   padding-top: 1em;
  89. }
  90.  
  91.  
  92. /* Quirk: prevent bullet from resizing with the list item
  93.  *   see bug 97351
  94.  */
  95.  
  96. li::-moz-list-bullet {
  97.   font-size: -moz-initial;
  98. }
  99.  
  100.  
  101. /* Quirk: cut off all font inheritance in tables and captions except for family. */
  102.  
  103. table, caption {
  104.   font-size: -moz-initial;
  105.   font-weight: -moz-initial;
  106.   font-style: -moz-initial;
  107.   font-variant: -moz-initial;
  108. }
  109.  
  110. table {
  111.   text-align: -moz-initial;
  112.   white-space: normal; /* compatible with IE & spec */
  113.   line-height: normal;
  114. }
  115.  
  116.  
  117. /* Quirk: collapse top margin of BODY and TD and bottom margin of TD */
  118.  
  119. /*
  120.  * While it may seem simpler to use :first-node and :last-node without
  121.  * tags, it's slower, since we have to do the :first-node or :last-node
  122.  * check on every single element in the document.  If we list all the
  123.  * element names for which the UA stylesheet specifies a margin, the
  124.  * selectors will be hashed in the RuleHash and things will be much more
  125.  * efficient.
  126.  */
  127. body > form:first-node, td > form:first-node, th > form:first-node,
  128. body > p:first-node, td > p:first-node, th > p:first-node,
  129. body > dl:first-node, td > dl:first-node, th > dl:first-node,
  130. body > multicol:first-node, td > multicol:first-node, th > multicol:first-node,
  131. body > blockquote:first-node, td > blockquote:first-node, th > blockquote:first-node,
  132. body > h1:first-node, td > h1:first-node, th > h1:first-node,
  133. body > h2:first-node, td > h2:first-node, th > h2:first-node,
  134. body > h3:first-node, td > h3:first-node, th > h3:first-node,
  135. body > h4:first-node, td > h4:first-node, th > h4:first-node,
  136. body > h5:first-node, td > h5:first-node, th > h5:first-node,
  137. body > h6:first-node, td > h6:first-node, th > h6:first-node,
  138. body > listing:first-node, td > listing:first-node, th > listing:first-node,
  139. body > plaintext:first-node, td > plaintext:first-node, th > plaintext:first-node,
  140. body > xmp:first-node, td > xmp:first-node, th > xmp:first-node,
  141. body > pre:first-node, td > pre:first-node, th > pre:first-node,
  142. body > ul:first-node, td > ul:first-node, th > ul:first-node,
  143. body > menu:first-node, td > menu:first-node, th > menu:first-node,
  144. body > dir:first-node, td > dir:first-node, th > dir:first-node,
  145. body > ol:first-node, td > ol:first-node, th > ol:first-node {
  146.   margin-top: 0;
  147. }
  148.  
  149. td > form:last-node, th > form:last-node,
  150. td > p:last-node, th > p:last-node,
  151. td > dl:last-node, th > dl:last-node,
  152. td > multicol:last-node, th > multicol:last-node,
  153. td > blockquote:last-node, th > blockquote:last-node,
  154. td > h1:last-node, th > h1:last-node,
  155. td > h2:last-node, th > h2:last-node,
  156. td > h3:last-node, th > h3:last-node,
  157. td > h4:last-node, th > h4:last-node,
  158. td > h5:last-node, th > h5:last-node,
  159. td > h6:last-node, th > h6:last-node,
  160. td > listing:last-node, th > listing:last-node,
  161. td > plaintext:last-node, th > plaintext:last-node,
  162. td > xmp:last-node, th > xmp:last-node,
  163. td > pre:last-node, th > pre:last-node,
  164. td > ul:last-node, th > ul:last-node,
  165. td > menu:last-node, th > menu:last-node,
  166. td > dir:last-node, th > dir:last-node,
  167. td > ol:last-node, th > ol:last-node {
  168.   margin-bottom: 0;
  169. }
  170.  
  171. /* Similar as above, but for empty elements
  172.  *  collapse the bottom or top margins of empty elements
  173.  *  - see bug 97361
  174.  */
  175. body > form:empty:first-node, td > form:empty:first-node, th > form:empty:first-node,
  176. body > p:empty:first-node, td > p:empty:first-node, th > p:empty:first-node,
  177. body > dl:empty:first-node, td > dl:empty:first-node, th > dl:empty:first-node,
  178. body > multicol:empty:first-node, td > multicol:empty:first-node, th > multicol:empty:first-node,
  179. body > blockquote:empty:first-node, td > blockquote:empty:first-node, th > blockquote:empty:first-node,
  180. body > h1:empty:first-node, td > h1:empty:first-node, th > h1:empty:first-node,
  181. body > h2:empty:first-node, td > h2:empty:first-node, th > h2:empty:first-node,
  182. body > h3:empty:first-node, td > h3:empty:first-node, th > h3:empty:first-node,
  183. body > h4:empty:first-node, td > h4:empty:first-node, th > h4:empty:first-node,
  184. body > h5:empty:first-node, td > h5:empty:first-node, th > h5:empty:first-node,
  185. body > h6:empty:first-node, td > h6:empty:first-node, th > h6:empty:first-node,
  186. body > listing:empty:first-node, td > listing:empty:first-node, th > listing:empty:first-node,
  187. body > plaintext:empty:first-node, td > plaintext:empty:first-node, th > plaintext:empty:first-node,
  188. body > xmp:empty:first-node, td > xmp:empty:first-node, th > xmp:empty:first-node,
  189. body > pre:empty:first-node, td > pre:empty:first-node, th > pre:empty:first-node,
  190. body > ul:empty:first-node, td > ul:empty:first-node, th > ul:empty:first-node,
  191. body > menu:empty:first-node, td > menu:empty:first-node, th > menu:empty:first-node,
  192. body > dir:empty:first-node, td > dir:empty:first-node, th > dir:empty:first-node,
  193. body > ol:empty:first-node, td > ol:empty:first-node, th > ol:empty:first-node {
  194.   margin-bottom: 0;
  195. }
  196.  
  197. td > form:empty:last-node, th > form:empty:last-node,
  198. td > p:empty:last-node, th > p:empty:last-node,
  199. td > dl:empty:last-node, th > dl:empty:last-node,
  200. td > multicol:empty:last-node, th > multicol:empty:last-node,
  201. td > blockquote:empty:last-node, th > blockquote:empty:last-node,
  202. td > h1:empty:last-node, th > h1:empty:last-node,
  203. td > h2:empty:last-node, th > h2:empty:last-node,
  204. td > h3:empty:last-node, th > h3:empty:last-node,
  205. td > h4:empty:last-node, th > h4:empty:last-node,
  206. td > h5:empty:last-node, th > h5:empty:last-node,
  207. td > h6:empty:last-node, th > h6:empty:last-node,
  208. td > listing:empty:last-node, th > listing:empty:last-node,
  209. td > plaintext:empty:last-node, th > plaintext:empty:last-node,
  210. td > xmp:empty:last-node, th > xmp:empty:last-node,
  211. td > pre:empty:last-node, th > pre:empty:last-node,
  212. td > ul:empty:last-node, th > ul:empty:last-node,
  213. td > menu:empty:last-node, th > menu:empty:last-node,
  214. td > dir:empty:last-node, th > dir:empty:last-node,
  215. td > ol:empty:last-node, th > ol:empty:last-node {
  216.   margin-top: 0;
  217. }
  218.  
  219.  
  220. /* Quirk: support the ways of making PRE have wrapping */
  221.  
  222. pre[wrap], pre[cols], pre[width] {
  223.   white-space: -moz-pre-wrap;
  224. }
  225.  
  226.  
  227. /* Quirk: DD not in DL has text-indent instead of margin (b=5119) */
  228.  
  229. :not(dl) > dd {
  230.   display: inline;
  231.   margin: 0;
  232. }
  233.  
  234. :not(dl) > dd:before {
  235.   display: inline;
  236.   white-space: pre;
  237.   font-size: 1px;
  238.   line-height: 0;
  239.   content: "\A  ";
  240.   margin-right: 40px;
  241. }
  242.  
  243.  
  244. /* quirk to indent nested DL elements (b=8749) */
  245.  
  246. dl > dl {
  247.   display: block;
  248.   margin-left: 40px;
  249. }
  250.  
  251.  
  252. /* Quirk: MAP acts like an inline, not a block */
  253.  
  254. map {
  255.   display: inline;
  256. }
  257.  
  258.  
  259. /* Quirk: Make floated images have a margin  (b=58899) */
  260.  
  261. img[align=left] {
  262.   margin-right: 3px;
  263. }
  264.  
  265. img[align=right] {
  266.   margin-left: 3px;
  267. }
  268.  
  269.  
  270. /* Quirk: Make sure that the residual style tags' size info. 
  271.  * does not take precedence over heading tags' size. (b=77352)
  272.  * Note: This special attribute is set only for a residual 
  273.  * style tag within a heading tag.
  274.  */
  275.  
  276. /* XXX This is a potential performance problem.  This should not be
  277.  * using an attribute!
  278.  */
  279. *[_moz-rs-heading] { 
  280.   font-size: inherit !important; 
  281. }
  282.  
  283.  
  284. /*
  285.  * Quirk: Use border-box box sizing for text inputs, password inputs, and
  286.  * textareas.  (b=184478 on why we use content-box sizing in standards mode)
  287.  */
  288.  
  289. /* Note that all other <input>s already use border-box
  290.    sizing, so we're ok with this selector */
  291. input:not([type=image]), textarea {
  292.   -moz-box-sizing: border-box;
  293. }
  294.